iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0

今天發燒用手機打字
後面明天一定補完QQ
明天是不是該想想要做什麼mysql小projectㄌ...真的要做todolist?

依據計畫今天要稍微看看 Python MySQL
怎麼說,雖然都有給具體的小例子,
但如果沒有實際做的話,有點無聊XD

Connect

  • 用 configparser,推 github 時 ignore 方便。
  • MySQLConnection object

Select

fetchone() : 回傳 query result set 的下一 row 結果,沒了回 None

dbconfig = read_db_config()
        conn = MySQLConnection(**dbconfig)
        cursor = conn.cursor()
        cursor.execute("SELECT * FROM books")

        row = cursor.fetchone()

        while row is not None:
            print(row)
            row = cursor.fetchone()

fetchall() : 全部吐出來
cursor.rowcount 得到 row 數

fetchmany() :
如果資料庫很大,fetchall可能會記憶體不足。
寫個 generator:

def iter_row(cursor, size=10):
    while True:
        rows = cursor.fetchmany(size)
        if not rows:
            break
        for row in rows:
            yield row

使用 generator 一次抓 10 rows

for row in iter_row(cursor, 10):
    print(row)

Insert

Update

Delete

Read & Update BLOB in MySQL Database

Call Stored Procedures in Python


上一篇
【Day 14】MySQL Basics III:Transactions / Locks
下一篇
【Day 16】InnoDB indexing
系列文
什麼都不會還敢說你是 RD 啊?畢業後的後端入職前準備31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言